package com.pkk.components.util.config;

import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;
import java.util.Properties;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

/**
 * @description: 验证码配置文件
 * @author: peikunkun
 * @create: 2018-11-15 15:19
 **/
@Component
public class KaptchaConfig {

  /**
   * @Description: 初始化二维码的bean<br></br>
   * @kaptcha.border 图片边框，合法值：yes , no yes<br></br>
   * @kaptcha.border.color 边框颜色，合法值： r,g,b (and optional alpha) 或者 white,black,blue. black</br>
   * @kaptcha.border.thickness 边框厚度，合法值：>0 1</br>
   * @kaptcha.image.width 图片宽 200</br>
   * @kaptcha.image.height 图片高 50</br>
   * @kaptcha.producer.impl 图片实现类 com.google.code.kaptcha.impl.DefaultKaptcha</br>
   * @kaptcha.textproducer.impl 文本实现类 com.google.code.kaptcha.text.impl.DefaultTextCreator</br>
   * @kaptcha.textproducer.char.string 文本集合，验证码值从此集合中获取 abcde2345678gfynmnpwx</br>
   * @kaptcha.textproducer.char.length 验证码长度 5</br>
   * @kaptcha.textproducer.font.names 字体 Arial, Courier</br>
   * @kaptcha.textproducer.font.size 字体大小 40px.</br>
   * @kaptcha.textproducer.font.color 字体颜色，合法值： r,g,b 或者 white,black,blue. black</br>
   * @kaptcha.textproducer.char.space 文字间隔 2</br>
   * @kaptcha.noise.impl 干扰实现类 com.google.code.kaptcha.impl.DefaultNoise</br>
   * @kaptcha.noise.color 干扰颜色，合法值： r,g,b 或者 white,black,blue. black</br>
   * @kaptcha.obscurificator.impl 图片样式： 水纹</br>
   * @com.google.code.kaptcha.impl.WaterRipple 鱼眼
   * @com.google.code.kaptcha.impl.FishEyeGimpy 阴影
   * @com.google.code.kaptcha.impl.ShadowGimpy </br>
   * @com.google.code.kaptcha.impl.WaterRipple</br>
   * @kaptcha.background.impl 背景实现类
   * @com.google.code.kaptcha.impl.DefaultBackground</br>
   * @kaptcha.background.clear.from 背景颜色渐变，开始颜色 light grey</br>
   * @kaptcha.background.clear.to 背景颜色渐变，结束颜色 white</br>
   * @kaptcha.word.impl 文字渲染器 com.google.code.kaptcha.text.impl.DefaultWordRenderer</br>
   * @kaptcha.session.key session key KAPTCHA_SESSION_KEY</br>
   * @kaptcha.session.date session date KAPTCHA_SESSION_DATE</br>
   * @return: com.google.code.kaptcha.impl.DefaultKaptcha
   * @Author: peikunkun
   * @Date: 2018/11/15 0015 下午 3:21
   */
  @Bean
  public DefaultKaptcha getDefaultKaptcha() {
    /*DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
    Properties properties = new Properties();
    properties.setProperty("kaptcha.border", "yes");
    properties.setProperty("kaptcha.border.color", "105,179,90");
    properties.setProperty("kaptcha.textproducer.font.color", "blue");
    properties.setProperty("kaptcha.image.width", "110");
    properties.setProperty("kaptcha.image.height", "40");
    properties.setProperty("kaptcha.textproducer.font.size", "30");
    properties.setProperty("kaptcha.session.key", "code");
    properties.setProperty("kaptcha.textproducer.char.length", "4");
    properties.setProperty("kaptcha.textproducer.font.names", "宋体,楷体,微软雅黑");
    Config config = new Config(properties);
    defaultKaptcha.setConfig(config);*/
    Properties properties = new Properties();
    properties.put("kaptcha.border", "no");
    properties.put("kaptcha.textproducer.font.color", "black");
    properties.put("kaptcha.textproducer.char.space", "5");
    Config config = new Config(properties);
    DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
    defaultKaptcha.setConfig(config);
    return defaultKaptcha;
  }

}
